% % 载入字体(需要安装相应字体)
% \setmainfont{LibertinusSerif}[% 英文字体
%   Extension      = .otf,
%   UprightFont    = *-Regular,
%   BoldFont       = *-Bold,
%   ItalicFont     = *-Italic,
%   BoldItalicFont = *-BoldItalic,
%   Scale          = 1.0]
% \setmonofont{Iosevka Fixed SS09}[Scale=1.0]% 等宽字体，主要用于代码排版
% \setmathfont{LibertinusMath-Regular.otf}% Iosevka数学字体，需要unicode-math支持
% \setCJKmainfont{Source Han Serif SC}[ % 中文衬线字体，思源宋体
%   UprightFont     = * SemiBold,
%   BoldFont        = * Heavy,
%   ItalicFont      = * Light,
%   BoldItalicFont  = * Medium,
%   RawFeature      = +fwid]
% \setCJKsansfont{Source Han Sans SC}[ % 中文无衬线字体，思源宋体
%   UprightFont     = * Medium,
%   BoldFont        = * Heavy,
%   ItalicFont      = * Light,
%   BoldItalicFont  = * Normal,
%   RawFeature      = +fwid]  
% \setCJKmonofont{Sarasa Mono SC}[% 中文等宽字体，Sarasa Mono SC
%   UprightFont     = * Medium,
%   BoldFont        = * Medium,
%   ItalicFont      = * Extralight,
%   BoldItalicFont  = * Light,
%   RawFeature      = +fwid]   
% 也可以直接使用字体名称加载中文字体，思源字体，请将字体置于fonts目录下
% \setCJKmainfont[Extension=.otf,
%     Path=fonts/,
%     UprightFont=NotoSerifCJKsc-Regular,
%     BoldFont=NotoSerifCJKsc-Bold,
%     ItalicFont=NotoSerifCJKsc-Regular,
%     BoldItalicFont=NotoSerifCJKsc-Bold,
%     ItalicFeatures=FakeSlant,
%     BoldItalicFeatures=FakeSlant]{NotoSerifCJKsc}
% % 无衬线字体，思源字体，请将字体置于fonts目录下         
% \setCJKsansfont[
%     Extension=.otf,
%     Path=fonts/,
%     UprightFont=NotoSansCJKsc-Regular,
%     BoldFont=NotoSansCJKsc-Bold,
%     ItalicFont=NotoSansCJKsc-Regular,
%     BoldItalicFont=NotoSansCJKsc-Bold,
%     ItalicFeatures=FakeSlant,
%     BoldItalicFeatures=FakeSlant]{NotoSansSC}
% % 中文等宽字体，思源字体，请将字体置于fonts目录下  
% \setCJKmonofont[
%     Extension=.otf,
%     Path=fonts/,
%     UprightFont=NotoSansMonoCJKsc-Regular,
%     BoldFont=NotoSansMonoCJKsc-Bold,
%     ItalicFont=NotoSansMonoCJKsc-Regular,
%     BoldItalicFont=NotoSansMonoCJKsc-Bold,
%     ItalicFeatures=FakeSlant,
%     BoldItalicFeatures=FakeSlant]{NotoSansMonoSC}

%% 自定义相关的名称宏命令
%% ==================================================
%% \newcommand{\yourcommand}[参数个数]{内容}
% 西北农林科技大学各单位名称
\newcommand{\nwafu}{西北农林科技大学}
\newcommand{\cie}{信息工程学院}
\newcommand{\ca}{农学院}
\newcommand{\cpp}{植物保护学院}
\newcommand{\ch}{园艺学院}
\newcommand{\cast}{动物科技学院}
\newcommand{\cvm}{动物医学院}
\newcommand{\cf}{林学院}
\newcommand{\claa}{风景园林艺术学院}
\newcommand{\cnre}{资源环境学院}
\newcommand{\cwrae}{水利与建筑工程学院}
\newcommand{\cmee}{机械与电子工程学院}
\newcommand{\cfse}{食品科学与工程学院}
\newcommand{\ce}{葡萄酒学院}
\newcommand{\cls}{生命科学学院}
\newcommand{\cs}{理学院}
\newcommand{\ccp}{化学与药学院}
\newcommand{\cem}{经济管理学院}
\newcommand{\cm}{马克思主义学院}
\newcommand{\dfl}{外语系}
\newcommand{\iec}{创新实验学院}
\newcommand{\ci}{国际学院}
\newcommand{\dpe}{体育部}
\newcommand{\cvae}{成人教育}
\newcommand{\iswc}{水土保持研究所}

%% 签署春秋学期日期命令
\newcommand{\tomonth}{
  \the\year 年\the\month 月
}


\newcommand{\tomonthen}{
  \ifcase\the\month
  \or January%
  \or February%
  \or March%
  \or April%
  \or May%
  \or June%
  \or July%
  \or August%
  \or September%
  \or October%
  \or November%
  \or December%
  \fi, \the\year
}

\newcommand{\tosemester}{
  \the\year 年\ 
  \ifcase\the\month
  \or 秋%
  \or 春%
  \or 春%
  \or 春%
  \or 春%
  \or 春%
  \or 春%
  \or 夏%
  \or 秋%
  \or 秋%
  \or 秋%
  \or 秋%
  \fi 
}

\newcommand{\tosemesteren}{  
  \ifcase\the\month
  \or Autumn%
  \or Spring%
  \or Spring%
  \or Spring%
  \or Spring%
  \or Spring%
  \or Summer%
  \or Autumn%
  \or Autumn%
  \or Autumn%
  \or Autumn%
  \or Autumn%
  \fi, \the\year
}

% 重定义强调字体的代码，解决默认强调字体是italic，此时中文会用楷体代替，
% 在此设置为加粗，注意需要使用etoolbox宏包
\makeatletter
\let\origemph\emph
\newcommand*\emphfont{\normalfont\bfseries}
\DeclareTextFontCommand\@textemph{\emphfont}
\newcommand\textem[1]{%
  \ifdefstrequal{\f@series}{\bfdefault}
    {\@textemph{\CTEXunderline{#1}}}
    {\@textemph{#1}}%
}
\RenewDocumentCommand\emph{s o m}{%
  \IfBooleanTF{#1}
    {\textem{#3}}
    {\IfNoValueTF{#2}
      {\textem{#3}\index{#3}}
      {\textem{#3}\index{#2}}%
     }%
}
\makeatother

%% 定义自动扩展垂直间距的命令\stretchon和\stretchoff
%% 注意frame中不能有center环境
%% ==================================================
\def\itemsymbol{$\blacktriangleright$}
\let\svpar\par
\let\svitemize\itemize
\let\svenditemize\enditemize
\let\svitem\item
\let\svcenter\center
\let\svendcenter\endcenter
\let\svcolumn\column
\let\svendcolumn\endcolumn
\def\newitem{\renewcommand\item[1][\itemsymbol]{\vfill\svitem[##1]}}%
\def\newpar{\def\par{\svpar\vfill}}%
\newcommand\stretchon{%
  \newpar%
  \renewcommand\item[1][\itemsymbol]{\svitem[##1]\newitem}%
  \renewenvironment{itemize}%
    {\svitemize}{\svenditemize\newpar\par}%
  \renewenvironment{center}%
    {\svcenter\newpar}{\svendcenter\newpar}%
  \renewenvironment{column}[2]%
    {\svcolumn{##1}\setlength{\parskip}{\columnskip}##2}%
    {\svendcolumn\vspace{\columnskip}}%
}
\newcommand\stretchoff{%
  \let\par\svpar%
  \let\item\svitem%
  \let\itemize\svitemize%
  \let\enditemize\svenditemize%
  \let\center\svcenter%
  \let\endcenter\svendcenter%
  \let\column\svcolumn%
  \let\endcolumn\svendcolumn%
}

% 插图路径设置
% ==================================================
\graphicspath{{figs/}}%图片所在的目录
% ==================================================

% 载入需要的TiKZ库
\usetikzlibrary{chains}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../main.tex"
%%% End: 
